package com;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

/**
 * 如果一个类没有实现 Comparable 接口,那么把对象放到 list中之后,不能直接调用sort(list)进行排序
 * 
 * 但是可以使用 sort 的方法重载, sort (list, 比较器类),来实现对 list 的排序
 * 
 * @author lenovo
 * @Date 2020年7月18日
 * @Time 上午9:31:05
 */
public class Collection_12_SortList {

	@SuppressWarnings("unchecked")
	public static void main(String[] args) {
		List list = new ArrayList();
		list.add(new User1(18));
		list.add(new User1(12));
		list.add(new User1(23));

		Collections.sort(list, new Comparator() {

			@Override
			public int compare(Object o1, Object o2) {
				return ((User1) o1).age - ((User1) o2).age;
			}

		});
		System.out.println(list);
	}

}

class User1 {
	int age;

	public User1(int age) {
		super();
		this.age = age;
	}

	@Override
	public String toString() {
		return "User1 [age=" + age + "]";
	}
}